
#include "gpio.h"
extern uint8_t key_down;
void MX_GPIO_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};
  __HAL_RCC_GPIOC_CLK_ENABLE();
  __HAL_RCC_GPIOF_CLK_ENABLE();
  __HAL_RCC_GPIOA_CLK_ENABLE();
  __HAL_RCC_GPIOB_CLK_ENABLE();
  HAL_GPIO_WritePin(GPIOA, MCU_POWKEY_Pin|PSM_EINT3V3_Pin|MCU_RESET_Pin, GPIO_PIN_SET);
  HAL_GPIO_WritePin(PW_EN_GPIO_Port, PW_EN_Pin, GPIO_PIN_SET);
  HAL_GPIO_WritePin(GPIOB, MCU_RELY_IO_Pin|MCU_LED0_Pin|MCU_LED1_Pin, GPIO_PIN_RESET);
  GPIO_InitStruct.Pin = KEY_WAKE_MCU_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
  GPIO_InitStruct.Pull = GPIO_PULLUP;
  HAL_GPIO_Init(KEY_WAKE_MCU_GPIO_Port, &GPIO_InitStruct);
  GPIO_InitStruct.Pin = MCU_POWKEY_Pin|PSM_EINT3V3_Pin|MCU_RESET_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  GPIO_InitStruct.Pin = PW_EN_Pin|MCU_RELY_IO_Pin|MCU_LED0_Pin|MCU_LED1_Pin|MCU_NB_PW_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  HAL_NVIC_SetPriority(EXTI4_15_IRQn, 0, 0);
  HAL_NVIC_EnableIRQ(EXTI4_15_IRQn);
}
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
	if(GPIO_Pin == GPIO_PIN_13)
	{
			key_down = 1;
	}
}